namespace Rsdn.Janus.ObjectModel
{
    /// <summary>
    /// Summary description for IFeatureView.
    /// </summary>
    public interface IFeatureView
    {
        /// <summary>
        /// Activates the specified feature.
        /// </summary>
        /// <param name="feature">The feature.</param>
        void Activate(IFeature feature);

        /// <summary>
        /// Activates the view.
        /// Need for views switch
        /// </summary>
        void ActivateView();

        /// <summary>
        /// Deactivates the view.
        /// Need for views switch
        /// </summary>
        void DeactivateView();

        /// <summary>
        /// Refreshes this instance.
        /// </summary>
        void Refresh();

        /// <summary>
        /// Configs the changed.
        /// </summary>
        void ConfigChanged();

        /// <summary>
        /// Clears this instance.
        /// </summary>
        void Clear();
    }
}
